from abc import ABC, abstractmethod
from typing import Any, List, Tuple


class IFormMetadataProvider(ABC):
    @abstractmethod
    def get_targets(self, filter_attr: Tuple[str, Any], target_attr: str, deduplicate: bool = False) -> List[Any]:
        pass

    @abstractmethod
    def get_column_data(self, header: str, deduplicate: bool = False) -> List[Any]:
        pass